package com.Aliyun.alipay.pay;

import java.net.URLEncoder;

import com.Aliyun.alipay.config.AlipayConfig;
import com.Aliyun.alipay.sign.RSA;


public class alipay_ask_Provider {
	
	
	public static String ask(alipay_ask_DataClass alipay)
	{
/*		//把请求参数打包成数组
		Map<String, String> sParaTemp = new HashMap<String, String>();
		sParaTemp.put("service", "create_direct_pay_by_user");
        sParaTemp.put("partner", AlipayConfig.partner);
        sParaTemp.put("_input_charset", AlipayConfig.input_charset);
		sParaTemp.put("payment_type", alipay.payment_type);
		sParaTemp.put("notify_url", alipay.notify_url);
		sParaTemp.put("return_url", alipay.return_url);
		sParaTemp.put("seller_email", alipay.seller_email);
		sParaTemp.put("out_trade_no", alipay.out_trade_no);
		sParaTemp.put("subject", alipay.subject);
		sParaTemp.put("total_fee", alipay.total_fee);
		sParaTemp.put("body", alipay.body);
		sParaTemp.put("show_url", alipay.show_url);
		sParaTemp.put("anti_phishing_key", alipay.anti_phishing_key);
		sParaTemp.put("exter_invoke_ip", alipay.exter_invoke_ip);
		
		
		String url=AlipaySubmit.getUrl(sParaTemp);
		return url;*/
		/*
		//建立请求
		String sHtmlText = AlipaySubmit.buildRequest(sParaTemp,"get","确认");
		System.out.println(sHtmlText);
		return sHtmlText;*/
		String info = getNewOrderInfo(alipay);
		String sign = RSA.sign(info, AlipayConfig.getAliPrivateKey());
		sign = URLEncoder.encode(sign);
		info += "&sign=\"" + sign + "\"&" + getSignType();
		System.out.println(info);
		return info;

	}
	
	
	private static String getNewOrderInfo(alipay_ask_DataClass alipay) {
		StringBuilder sb = new StringBuilder();
		sb.append("partner=\"");
		sb.append(AlipayConfig.getAliPartner());
		sb.append("\"&out_trade_no=\"");
		sb.append( alipay.out_trade_no);
		sb.append("\"&subject=\"");
		sb.append(alipay.subject);
		sb.append("\"&body=\"");
		sb.append(alipay.body);
		sb.append("\"&total_fee=\"");
		sb.append( alipay.total_fee);
		//sb.append( "1.01");
		sb.append("\"&notify_url=\"");

		// 网址需要做URL编码
		sb.append(URLEncoder.encode(alipay.notify_url));
		sb.append("\"&service=\"mobile.securitypay.pay");
		sb.append("\"&_input_charset=\"UTF-8");
		sb.append("\"&return_url=\"");
		sb.append(URLEncoder.encode(alipay.return_url));
		sb.append("\"&payment_type=\"1");
		sb.append("\"&seller_id=\"");
		sb.append(AlipayConfig.getAliSellerId());

		// 如果show_url值为空，可不传
		// sb.append("\"&show_url=\"");
		sb.append("\"&it_b_pay=\"1m");
		sb.append("\"");

		return new String(sb);
	}
	private static String getSignType() {
		return "sign_type=\"RSA\"";
	}

}
